﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:services="clr-namespace:Sebastof.Services.Impl;assembly=Sebastof.Services.Impl"
  xmlns:sebarfServices="clr-namespace:Sebarf.Services.Impl;assembly=Sebarf.Services.Impl"
  xmlns:clientServices="clr-namespace:Sebastof.Client.Services.Impl;assembly=Sebastof.Client.Services.Impl"
  xmlns:process="clr-namespace:Sebastof.ProcessChains.ProcessSteps;assembly=Sebastof.Serialisation"
  xmlns:profiles="clr-namespace:Sebarf.Profiles.WPF;assembly=Sebarf.Profiles.WPF"
  xmlns:core="clr-namespace:Sebarf.Core.Internal;assembly=Sebarf.Core"
  xmlns:sebastof="clr-namespace:Sebastof.Core.Services;assembly=Sebastof.Core.Services"
  xmlns:diagnostics="clr-namespace:Sebarf.Diagnostics;assembly=Sebarf.Diagnostics"
  xmlns:utils="clr-namespace:Sebarf.Utils.Interfaces;assembly=Sebarf.Utils"
  xmlns:processChain="clr-namespace:Sebarf.ProcessChains;assembly=Sebarf.ProcessChains"
  xmlns:security="clr-namespace:Sebarf.Security.Authentication;assembly=Sebarf.Security.Authentication"
  xmlns:session="clr-namespace:Sebarf.Session.Services;assembly=Sebarf.Session.Services">

  <profiles:ProfileConfiguration x:Key="Profile"
                                ProfileName="SecurityBasedCacheBasedLazyLoadProfile">
    <profiles:ProfileConfiguration.Services>
      <services:SimpleCache/>
      <services:MetadataLocatorRegisterService Id="LazyLoadingProfile.Client"/>
      <clientServices:ChangeTrackingCacheService/>
      <services:ObjectMappingLocatorRegisterService/>
      <clientServices:DeserializationTargetTypeService/>
      <clientServices:ObjectTrackerMetadataService/>
      <clientServices:ObjectTrackerService/>
      <clientServices:ObservableCollectionCreatorService/>
      <clientServices:LazyLoadingSerializationDataHandlingStrategyService/>
      <services:ObjectTreeHelperService/>
      <sebarfServices:DiagnosticsDataCollectorService/>
      <security:DummyAuthenticationManagementService/>
      <security:UsernamePasswordAuthenticationRequestService/>
      <processChain:ProcessChainManagerService/>
      <clientServices:ChangeHandlerService/>
      <core:RequestRemoteHandlerEngineLocatorService/>
      <session:SignOfLifeSenderService/>
      <services:DatahandlerService/>
      <utils:ObjectHierarchyFlattenerService/>
      <diagnostics:SimpleCheckerService/>
      <diagnostics:SimpleLoggerService/>
      <sebastof:ClientTransmissionOfObjectService/>
    </profiles:ProfileConfiguration.Services>
    <profiles:ProfileConfiguration.Processes>
      <process:DeSerializeObjectTransportContainer >
        <process:ObjectMapperStep>
          <process:UseCachedObjectStep>
            <process:UnDecorateObject>
              <process:CachedOriginalDataObject>
                <process:ChangeTrackingRegister/>
              </process:CachedOriginalDataObject>
            </process:UnDecorateObject>
          </process:UseCachedObjectStep>
        </process:ObjectMapperStep>
      </process:DeSerializeObjectTransportContainer>
      <process:DeSerializeCollectionTransporter>
        <process:CollectionMapperStep>
          <process:UseCachedCollectionStep>
            <process:UnDecorateCollection>
              <process:CachedOriginalDataCollection>
                <process:ChangeTrackingRegisterCollection/>
              </process:CachedOriginalDataCollection>
            </process:UnDecorateCollection>
          </process:UseCachedCollectionStep>
        </process:CollectionMapperStep>
      </process:DeSerializeCollectionTransporter>
    </profiles:ProfileConfiguration.Processes>
  </profiles:ProfileConfiguration>
</ResourceDictionary>
